<!DOCTYPE html>
<html class="client-nojs skin-theme-clientpref-os citizen-feature-autohide-navigation-clientpref-1 citizen-feature-image-dimming-clientpref-0 citizen-feature-pure-black-clientpref-0 citizen-feature-custom-font-size-clientpref-standard citizen-feature-custom-width-clientpref-standard citizen-feature-performance-mode-clientpref-1 citizen-header-position-left citizen-header-position-mobile-bottom" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>User:Cobalt32/sandbox</title>
<script id="mwoffliner-jsConfigVars">
document.documentElement.classList.replace('client-nojs', 'client-js')
RLCONF = {"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgCanonicalNamespace":"User","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":2,"wgPageName":"User:Cobalt32/sandbox","wgTitle":"Cobalt32/sandbox","wgCurRevisionId":2913,"wgRevisionId":0,"wgArticleId":285,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"User:Cobalt32/sandbox","wgRelevantArticleId":285,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRelevantUserName":"Cobalt32","wgNoticeProject":"all","wgConfirmEditCaptchaNeededForGenericEdit":false,"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"zimRelativeFilePath":"../"}
RLSTATE = {"user.options":"loading","site.styles":"ready","noscript":"ready","skins.citizen.styles":"ready","skins.citizen.codex.styles":"ready","skins.citizen.icons":"ready","ext.pygments":"ready"}
RLPAGEMODULES = ["jquery","mediawiki.base","mediawiki.page.ready","ext.pygments.view"]
;(RLQ = window.RLQ || []).push(function () {
mw.config.set(RLCONF)
mw.loader.state(RLSTATE)
mw.loader.load(RLPAGEMODULES)
;(mw.loader.impl || mw.loader.implement)(function () {
return [
'user.options@12s5i',
function ($, jQuery, require, module) {
mw.user.tokens.set({ patrolToken: '+\\', watchToken: '+\\', csrfToken: '+\\' })
},
]
})
})
</script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="../_res_/favicon.png">
<link rel="canonical" href="https://reticulum.miraheze.org/wiki/User%3ACobalt32%2Fsandbox"> <link href="../_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="../_mw_/skins.citizen.codex.styles.css" rel="stylesheet" type="text/css">
<link href="../_mw_/skins.citizen.icons.css" rel="stylesheet" type="text/css">
<link href="../_mw_/skins.citizen.styles.css" rel="stylesheet" type="text/css"> <script async="" src="../_mw_/startup.js"></script>
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="../_mw_/site.styles.css">
<noscript><link href="../_mw_/noscript.css" rel="stylesheet" type="text/css"/></noscript>
<link rel="stylesheet" type="text/css" href="../_res_/footer.css">
<script src="../_res_/script.js"></script>
</head>
<body class="mwoffliner-fallback mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-2 ns-subject page-User_Cobalt32_sandbox rootpage-User_Cobalt32 skin-citizen action-view skin--responsive">
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">User</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Cobalt32/sandbox</span></h1>
<div id="bodyContent">
<div id="contentSub">
<div id="mw-content-subtitle"><div class="subpages">< <bdi dir="ltr"><a href="../User%3ACobalt32" title="User:Cobalt32">User:Cobalt32</a></bdi></div></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-heading mw-heading2"><h2 id="Packet_structure">Packet structure</h2></div>
<p>A Reticulum packet consists of four fields: a header field, destination field, context field, and data field. There is no source field, as packets do not include sender information.
</p>
<table class="wikitable" style="text-align: center; border: none;">
<caption>Reticulum header format
</caption>
<tbody><tr>
<th style="min-width:42px; border-bottom:none; border-right:none;"><i>Offset</i>
</th>
<th style="border-left:none;"><a href="https://en.wikipedia.org/wiki/Octet_(computing)" class="extiw external" title="wikipedia:Octet (computing)">Octet</a>
</th>
<th colspan="8">0
</th>
<th colspan="8">1
</th>
<th colspan="8">2
</th>
<th colspan="8">3
</th></tr>
<tr>
<th style="min-width: 42px;border-top: none;">Octet
</th>
<th style="min-width: 42px;"><a href="https://en.wikipedia.org/wiki/Bit" class="extiw external" title="wikipedia:Bit">Bit</a>
</th>
<th style="min-width:11px;">0
</th>
<th style="min-width:11px;">1
</th>
<th style="min-width:11px;">2
</th>
<th style="min-width:11px;">3
</th>
<th style="min-width:11px;">4
</th>
<th style="min-width:11px;">5
</th>
<th style="min-width:11px;">6
</th>
<th style="min-width:11px;">7
</th>
<th style="min-width:11px;">8
</th>
<th style="min-width:11px;">9
</th>
<th style="min-width:16px;">10
</th>
<th style="min-width:16px;">11
</th>
<th style="min-width:16px;">12
</th>
<th style="min-width:16px;">13
</th>
<th style="min-width:16px;">14
</th>
<th style="min-width:16px;">15
</th>
<th style="min-width:16px;">16
</th>
<th style="min-width:16px;">17
</th>
<th style="min-width:16px;">18
</th>
<th style="min-width:16px;">19
</th>
<th style="min-width:16px;">20
</th>
<th style="min-width:16px;">21
</th>
<th style="min-width:16px;">22
</th>
<th style="min-width:16px;">23
</th>
<th style="min-width:16px;">24
</th>
<th style="min-width:16px;">25
</th>
<th style="min-width:16px;">26
</th>
<th style="min-width:16px;">27
</th>
<th style="min-width:16px;">28
</th>
<th style="min-width:16px;">29
</th>
<th style="min-width:16px;">30
</th>
<th style="min-width:16px;">31
</th></tr>
<tr>
<th style="width:35px;">0
</th>
<th style="width:30px;">0
</th>
<td colspan="1"><i><abbr title="Access Codes">AC</abbr></i>
</td>
<td colspan="1"><i><abbr title="Header Type">HT</abbr></i>
</td>
<td colspan="1"><i><abbr title="Context Flag">CF</abbr></i>
</td>
<td colspan="1"><i><abbr title="Propagation Type">PT</abbr></i>
</td>
<td colspan="2"><i><abbr title="Destination Type">DT</abbr></i>
</td>
<td colspan="2"><i><abbr title="Packet Type">PT</abbr></i>
</td>
<td colspan="8"><i>Hops</i>
</td>
<td colspan="16" style="border-bottom: none;"><i> </i>
</td></tr>
<tr>
<th style="width:35px;">4
</th>
<th style="width:30px;">32
</th>
<td colspan="32" style="border-top: none; border-bottom: none;"><i> </i>
</td></tr>
<tr>
<th style="width:35px;">8
</th>
<th style="width:30px;">64
</th>
<td colspan="32" style="border-top: none; border-bottom: none;"><i>Destination</i>
</td></tr>
<tr>
<th style="width:35px;">12
</th>
<th style="width:30px;">96
</th>
<td colspan="32" style="border-top: none; border-bottom: none;"><i> </i>
</td></tr>
<tr>
<th style="width:35px;">16
</th>
<th style="width:30px;">128
</th>
<td colspan="16" style="border-top: none;"><i> </i>
</td>
<td colspan="8"><i>Context</i>
</td>
<td colspan="8" style="background: mistyrose;border-bottom: none;"><i> </i>
</td></tr>
<tr>
<th style="width:35px;">20
</th>
<th style="width:30px;">160
</th>
<td colspan="32" rowspan="3" style="background: mistyrose;border-top: none;"><i>Data</i>
</td></tr>
<tr>
<th>24
</th>
<th>192
</th></tr>
<tr>
<th>⋮
</th>
<th>⋮
</th></tr></tbody></table>
<dl><dt>Access Codes: 1 bit</dt>
<dd>Set to <code>1</code> if the interface has <a href="../IFAC" class="mw-redirect" title="IFAC">IFAC</a> enabled.</dd>
<dt>Header Type: 1 bit</dt>
<dd>Indicates the number of <a href="../Destination" title="Destination">destination</a> hashes included in the destination field. Set to <code>0</code> for a single 16-byte hash. Set to <code>1</code> for two 16-byte hashes.</dd>
<dt>Context Flag: 1 bit</dt>
<dd>The context flag is used for various types of signaling, depending on packet context.</dd>
<dt>Propagation Type: 1 bit</dt>
<dd>Set to <code>0</code> for broadcast propagation. Set to <code>1</code> for transport propagation.</dd>
<dt>Destination Type: 2 bits</dt>
<dd>Indicates the <a href="../Destination" title="Destination">destination</a> type. Set to <code>00</code> for single destination, <code>01</code> for group destination, <code>10</code> for plain destination, and <code>11</code> for <a href="../Link" title="Link">link</a> destination.</dd>
<dt>Packet Type: 2 bits</dt>
<dd>Indicates the packet type. Set to <code>00</code> for data, <code>01</code> for <a href="../Announce" title="Announce">announce</a>, <code>10</code> for <a href="../Link" title="Link">link</a> request, and <code>11</code> for proof.</dd>
<dt>Hops: 8 bits</dt>
<dd>Set to <code>0</code> when sent and incremented whenever the packet is forwarded by a <a href="../Transport_node" title="Transport node">transport node</a>. When a transport node receives a packet with the hops field greater than or equal to the node's maximum hop count, the packet is not forwarded. The default maximum hop count is currently 128.</dd>
<dt>Destination: 16 bytes (128 bits)</dt>
<dd>The <a href="../Destination" title="Destination">destination</a> hash of the intended recipient. If the header type is set to <code>1</code>, there are two 16-byte destination fields.</dd>
<dt>Context: 8 bits</dt>
<dd>Used to determine packet context.</dd>
<dt>Data: Variable</dt>
<dd>The payload of the packet.</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="CSS">CSS</h2></div>
<p>The following CSS should make the header diagram usable by adding vertical lines, reducing the padding, and changing some colors. This is a work in progress.
</p>
<div class="mw-highlight mw-highlight-lang-css mw-content-ltr" dir="ltr"><pre><span></span><span class="p">.</span><span class="nc">wikitable</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">caption</span><span class="o">,</span>
<span class="p">.</span><span class="nc">wikitable</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tbody</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tr</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">th</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">background-color</span><span class="p">:</span><span class="nf">var</span><span class="p">(</span><span class="nv">--color-surface-</span><span class="mi">1</span><span class="p">);</span>
<span class="w"> </span><span class="k">text-align</span><span class="p">:</span><span class="kc">center</span>
<span class="p">}</span>
<span class="p">.</span><span class="nc">wikitable</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">caption</span><span class="o">,</span>
<span class="p">.</span><span class="nc">wikitable</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tbody</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tr</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">padding</span><span class="p">:</span><span class="mf">0.4</span><span class="kt">em</span><span class="w"> </span><span class="mf">0.5</span><span class="kt">em</span>
<span class="p">}</span>
<span class="p">.</span><span class="nc">wikitable</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tbody</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nt">tr</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">border</span><span class="p">:</span><span class="mi">1</span><span class="kt">px</span><span class="w"> </span><span class="kc">solid</span><span class="w"> </span><span class="nf">var</span><span class="p">(</span><span class="nv">--border-color-base</span><span class="p">)</span>
<span class="p">}</span>
</pre></div></div><!--htdig_noindex--><div><div class="zim-footer">
This page is issued from <a class="external text" title="Last edited on 2026-08-13" href="https://reticulum.miraheze.org/wiki/?title=User%3ACobalt32%2Fsandbox&oldid=2913">Reticulum Community Wiki</a>. The text is available under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</div>
</body></html>